1. Field of the Invention
The present invention relates to a serial data processor, and more specifically to a serial data processor having two signal lines capable of serially sending and receiving data through a single data line in synchronism with a clock on a single clock line.
2. Description of Related Art
As means for transferring data between a plurality of semiconductor processor chips such as microprocessors, two methods have been known. A first method is a parallel data transfer which sends and receives data of, for example, eight bits or sixteen bits in a parallel form through a data bus composed of eight or sixteen parallel data signal lines. A second method is a serial data transfer which sends and receives a plurality of bits in series, bit by bit, through a single data signal line. Particularly, the serial data transfer can be carried out with a less number of lines for connecting between chips, and therefore, a required wiring is very simple. In addition, the chip cost is low.
In general, the serial data transfer is carried out by using a single serial data line and a single clock line. In addition, it is a general practice that after a receiving unit has completed reception of a serially transmitted data without fail, it sends a reception acknowledge signal (called a "ACK signal" hereinafter) to a data sending unit in order to ensure and elevate reliability of data transfer. This ACK signal can be sent through a special dedicated line, but this will result in a large increase of wirings in the case that a number of serial data processors are coupled to the same data line and the same clock line. Therefore, it is an ordinary practice to send the ACK signal through the serial data line.
In this case, the serial data line is pulled up through a pull-up resistor, and an output buffer provided in each serial data processor and connected to the serial data line is in an open drain or open collector structure composed of only a pull-down transistor. In this specification, the term "open drain" is used to include the open collector. Thus, when the pull-down transistor is turned on, the serial data line pulled up by the pull-up resistor is brought into a low level by action of the turned-on pull-down transistor, and when the pull-down transistor is turned off, the serial data line is brought into a high level by action of the pull-up resistor. Therefore, the data processor can sequentially send the data by turning on or off the pull-down transistor of the output buffer in accordance with data bits to be sent.
After the completion of data sending, the data sending processor brings the output buffer, namely the pull-down transistor into an off condition so that the serial data line is pulled up to the high level by the pull-up resistor. In this condition, if the data receiving data processor has completed reception of data without fail, it sends the ACK signal of a low level to the serial data line in synchronism with a clock signal on the clock signal line. Namely, the serial data line is pulled down by the data receiving data processor. Thus, the data sending data processor can confirm the safe receipt of the transmission data of the data receiving data processor by detecting the ACK signal i.e., the pull-down of the serial data line which occurs after the data sending processor has brought the serial data line into a high level as the result of the completion of the data transmission.
In the above mentioned serial data processor, the open drain type output buffer operates to bring the serial data line to a low level by dispersing an electric charge on the serial data line to ground through the turned-on output buffer transistor itself. On the other hand, the serial data line is brought to a high level by charging the data line through the pull-up resistor as the result of the turn-off of the output buffer transistor. Since the resistance of the pull-up resistor is considerably larger than that of the turned-on transistor, the rising of the data line to the high level is slower than the falling of the data line to the low level. Because of this, the serial data transfer speed has been limited to a certain value. Specifically, the serial data line of the open drain type can have only a data transfer speed of 100 KHz at maximum. At present, on the other hand, the serial data transfer is about to become dominant because of a great advancement of distributed processing of the multiprocessor type, but application systems using the above mentioned type serial data transfer can have only a limited efficiency.
On the other hand, if the serial data line is driven by an output buffer of the push-pull type, a high speed serial data transfer can be realized. Namely, the output buffer of the push-pull type can pull up the data line to a high level at a high speed. However, in the case that the output buffer of the push-pull type is used, it is not possible to use the data line for sending the ACK signal informing the safe receipt of the transmitted data. Namely, another dedicated line is required for the ACK signal. This is not preferable because limited external terminals of processors are inconveniently used and the signal line wirings become complicated which results in an increased cost of application systems.